ako uzamknut dbedit na forme?

Otázka od: mato

1. 6. 2004 17:05

zdravim,

mam form a na nom vecsi pocet dbedit pripojenych na rozne datasety.
Neexistuje nejaka metoda formu ktora by vsetky dbedity zamkla proti
editovaniu a potom ich zase povolila ? Nechce sa mi to nastavovat pre kazdy
dbedit zvlast.



Odpovedá: Radoslav Jalc

2. 6. 2004 3:43

mato> mam form a na nom vecsi pocet dbedit pripojenych na rozne datasety.
mato> Neexistuje nejaka metoda formu ktora by vsetky dbedity zamkla proti
mato> editovaniu a potom ich zase povolila ? Nechce sa mi to nastavovat pre
kazdy
mato> dbedit zvlast.
Ahoj,
ak pouzivas DBEdity, tak pravdepodobne mas aj nejaky DataSource a
komponentu ktora dedi od TDataset.
Ak je dataset v stave dsEdit alebo dsInsert potom
- ak budes volat TDataset.post //ulozis pracu a dbedity budu zamknute
- ak budes volat TDataset.cancel //NEulozis pracu a dbedity budu zamknute

Tip: if dataset.state in [dsEdit, dsInsert] then
    dataset.Post; //alebo dataset.Cancel

Alebo surovo:
for x:=0 to formular.ComponentCount - 1 do
   if formular.Components[x] is TDBEdit then
       (formular.Components[x] as TDBEdit).Enabled := False; //resp.True

~~~
Radoslav Jalc
xpsp1,d7pro,fb1.5